/**
 * @file ngmessage.h
 * @author Suk Robert Koh (srkoh87z@gmail.com)
 *
 * @brief NGMessage class acts as a container for all messages sent/received
 */

#ifndef NGMESSAGE_H_
#define NGMESSAGE_H_

#include "../ngtypes.h"

/**
 * @class	NGMessage	Container class for messages
 */
class NGMessage
{
public:
	NGMessage();
	virtual ~NGMessage();

	BYTE getType(void);
	WORD getLength(void);
	DWORD getSenderId(void);
	char *getData(void);
	void setType(BYTE _type);
	void setSenderId(DWORD _userId);
	void setData(const char *_data);

private:
	BYTE type;										/** Type of the message */
	WORD length;									/** Length of the data of the message */
	DWORD userId;									/** Sender's user id */
	char *data;										/** Actual data of the message */
};

#endif /* NGMESSAGE_H_ */
